/**
 * 22娘和33娘接到了小电视君的扭蛋任务：

一共有两台扭蛋机，编号分别为扭蛋机2号和扭蛋机3号，22娘使用扭蛋机2号，33娘使用扭蛋机3号。

扭蛋机都不需要投币，但有一项特殊能力：

扭蛋机2号：如果塞x（x范围为>=0正整数）个扭蛋进去，然后就可以扭到2x+1个

扭蛋机3号：如果塞x（x范围为>=0正整数）个扭蛋进去，然后就可以扭到2x+2个

22娘和33娘手中没有扭蛋，需要你帮她们设计一个方案，
两人“轮流扭”（谁先开始不限，扭到的蛋可以交给对方使用），
用“最少”的次数，使她们能够最后恰好扭到N个交给小电视君。

输入
输入一个正整数，表示小电视君需要的N个扭蛋。   10

输出
输出一个字符串，每个字符表示扭蛋机，字符只能包含"2"和"3"。 233

输入：10

输出：233

 */

function dan22(n){
    // 2x + 1
    // n = 2x + 1
    // x = (n - 1) / 2
    let x = (n - 1) / 2
    // console.log('2')
    result = '2' + result
    return x
}
function dan33(n){
    // 2x + 2
    // n = 2x + 2
     // x = (n - 2) / 2
    let x = (n - 2) / 2
    // console.log('3')
    result = '3' + result
    return x
}
function dan(n){
    while(n !== 0){
        if(n % 2 === 1){
            //奇数
            n = dan22(n)
        }else{
            //偶数
            n = dan33(n)
        }

    }
}
let result = ''
dan(100)
console.log(result)
/**
 * 22是 2x+1 产生奇数
 * 33是 2x+2 产生偶数
 * 所以最后一次输出是确定的，目标数值是奇数，最后一次一定是22，目标数值是偶数，一定是33
 * 于是思路就是从最后一次进行逆推
 * 例如10，最后一次就是33， 10 = 2x + 2，x = 4，
 * 由于4是偶数，那么倒数第二次也是33，4 = 2x + 2，x = 1，
 * 由于1是奇数，那么倒数第三次是22，1 = 2x + 1，x = 0，
 * 顺序就是2，3，3
 */